package com.yinhe.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yinhe.common.annotation.Excel;
import com.yinhe.common.core.domain.BaseEntity;
import com.yinhe.common.core.domain.entity.SysDept;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 任务对象 yh_contract
 * 
 * @author yinhe
 * @date 2022-09-26
 */
public class YhContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 合同类别 */
    @Excel(name = "合同类别",dictType = "yh_contract_type")
    private String contractType;

    /** 装备名称 */
    @Excel(name = "装备名称")
    private String equipName;

    /** 装备型号 */
    @Excel(name = "装备型号")
    private String equipVersion;

    /** 数量 */
    @Excel(name = "数量")
    private String quantity;

    /** 交付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryTime;

    /** 技术状态 */
    @Excel(name = "技术状态")
    private String technicalConditions;

    /** 合同关联号 */
    @Excel(name = "合同关联号")
    private String contractAssociationNo;

    /** 合同关联状态 */
    @Excel(name = "合同关联状态")
    private String contractAssociationStatus;

    /** 采购卡片/合同/协议 */
    @Excel(name = "采购卡片/合同/协议")
    private String purchaseCard;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractNo;

    /** 合同类型 */
    @Excel(name = "合同类型",dictType = "yh_contract_declare")
    private String contractDeclare;

    /** 监管JS代表室 */
    @Excel(name = "监管JS代表室",dictType = "yh_representative_office")
    private String representativeOffice;

    /** 监管事项 */
    @Excel(name = "监管事项")
    private String regulation;

    /** 项目类别 */
    @Excel(name = "项目类别",dictType = "yh_item_classification")
    private String projectType;

    /** 采购部门 */
    @Excel(name = "采购部门")
    private String purchasingDepartment;

    /** 项目管理机构 */
    @Excel(name = "项目管理机构")
    private String managementAgency;

    /** 任务确认时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "任务确认时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date taskConfirmationTime;

    /** 主管人员 */
    @Excel(name = "主管人员")
    private String executiveStaff;

    /** 任务状态 */
    @Excel(name = "任务状态")
    private String taskStatus;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completionTime;

    /** 发文字号 */
    @Excel(name = "发文字号")
    private String messageNumber;

    /** 计划名称 */
    @Excel(name = "计划名称")
    private String planName;

    /** M级 */
    @Excel(name = "M级",dictType = "yh_security_grade")
    private String security;

    /** 发文日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发文日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date messageDate;

    /** 正式任务/任务预告 */
    @Excel(name = "正式任务/任务预告")
    private String formalTask;

    /** 装备采购部门 */
    @Excel(name = "装备采购部门")
    private String procurementDepartment;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNo;

    /** 采购类别 */
    @Excel(name = "采购类别")
    private String purchaseCategory;

    /** 项目预估经费 */
    @Excel(name = "项目预估经费")
    private String projectFunds;

    /** 承制单位 */
    @Excel(name = "承制单位")
    private String manufacturer;

    /** 是否异地监管 */
    @Excel(name = "是否异地监管")
    private String remoteSupervision;

    /** 所属军代局 */
    @Excel(name = "所属军代局")
    private String representativeOfficeBelongs;

    /** 所属军代局主管机关 */
    @Excel(name = "所属军代局主管机关")
    private String competentAuthorityAgency;

    /** 时间要求 */
    @Excel(name = "时间要求")
    private String timeRequirements;

    /** 项目实际总金额 */
    @Excel(name = "项目实际总金额")
    private String actualTotalAmount;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 部门ID */
    @Excel(name = "部门ID")
    private Long deptId;

    /** 装备承制单位 */
    @Excel(name = "装备承制单位",dictType = "yh_equipment_contractor_unit")
    private String equipmentContractor;

    /** 支付时间 */
    @Excel(name = "支付时间")
    private String paymentTime;


    /** 进度要求 */
    @Excel(name = "进度要求")
    private String scheduleTarget;

    /** 承制单位 */
    @Excel(name = "承制单位",dictType = "yh_contractor_unit")
    private String contractorUnit;

    /** 配套设备名称 */
    @Excel(name = "配套设备名称")
    private String supportingEquipment;

    /** 配套合同/协议号 */
    @Excel(name = "配套合同/协议号")
    private String matchingContractNo;

    /** 总体JS代表室 */
    @Excel(name = "总体JS代表室")
    private String generalRepresentativeOffice;

    /** 总体装备承制单位 */
    @Excel(name = "总体装备承制单位")
    private String generalContractorUnit;

    /** 备注 */
    @Excel(name = "备注")
    private String note;

    /** 流水号 */
    @Excel(name = "流水号")
    private String sequenceNumber;

    /** 备注1 */
    @Excel(name = "备注1")
    private String note1;

    /** 备注2 */
    @Excel(name = "备注2")
    private String note2;

    /** 备注3 */
    @Excel(name = "备注3")
    private String note3;

    /** 备注4 */
    @Excel(name = "备注4")
    private String note4;

    /** 备注5 */
    @Excel(name = "备注5")
    private String note5;

    /** 备注6 */
    @Excel(name = "备注6")
    private String note6;

    /** 备注6 */
    @Excel(name = "备注6")
    private String note7;

    /** 备注8 */
    @Excel(name = "备注8")
    private String note8;

    /** 备注9 */
    @Excel(name = "备注9")
    private String note9;

    /** 备注10 */
    @Excel(name = "备注10")
    private String note10;

    /** 获取部门表Id*/
    private SysDept dept;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSequenceNumber(String sequenceNumber) 
    {
        this.sequenceNumber = sequenceNumber;
    }

    public String getSequenceNumber() 
    {
        return sequenceNumber;
    }
    public void setContractAssociationNo(String contractAssociationNo) 
    {
        this.contractAssociationNo = contractAssociationNo;
    }

    public String getContractAssociationNo() 
    {
        return contractAssociationNo;
    }
    public void setPurchaseCard(String purchaseCard) 
    {
        this.purchaseCard = purchaseCard;
    }

    public String getPurchaseCard() 
    {
        return purchaseCard;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setContractType(String contractType) 
    {
        this.contractType = contractType;
    }

    public String getContractType() 
    {
        return contractType;
    }
    public void setEquipName(String equipName) 
    {
        this.equipName = equipName;
    }

    public String getEquipName() 
    {
        return equipName;
    }
    public void setEquipVersion(String equipVersion) 
    {
        this.equipVersion = equipVersion;
    }

    public String getEquipVersion() 
    {
        return equipVersion;
    }
    public void setQuantity(String quantity) 
    {
        this.quantity = quantity;
    }

    public String getQuantity() 
    {
        return quantity;
    }
    public void setTechnicalConditions(String technicalConditions) 
    {
        this.technicalConditions = technicalConditions;
    }

    public String getTechnicalConditions() 
    {
        return technicalConditions;
    }
    public void setContractNo(String contractNo) 
    {
        this.contractNo = contractNo;
    }

    public String getContractNo() 
    {
        return contractNo;
    }
    public void setContractDeclare(String contractDeclare) 
    {
        this.contractDeclare = contractDeclare;
    }

    public String getContractDeclare() 
    {
        return contractDeclare;
    }
    public void setRepresentativeOffice(String representativeOffice) 
    {
        this.representativeOffice = representativeOffice;
    }

    public String getRepresentativeOffice() 
    {
        return representativeOffice;
    }
    public void setRegulation(String regulation) 
    {
        this.regulation = regulation;
    }

    public String getRegulation() 
    {
        return regulation;
    }
    public void setProjectType(String projectType) 
    {
        this.projectType = projectType;
    }

    public String getProjectType() 
    {
        return projectType;
    }
    public void setPurchasingDepartment(String purchasingDepartment) 
    {
        this.purchasingDepartment = purchasingDepartment;
    }

    public String getPurchasingDepartment() 
    {
        return purchasingDepartment;
    }
    public void setManagementAgency(String managementAgency) 
    {
        this.managementAgency = managementAgency;
    }

    public String getManagementAgency() 
    {
        return managementAgency;
    }
    public void setTaskConfirmationTime(Date taskConfirmationTime) 
    {
        this.taskConfirmationTime = taskConfirmationTime;
    }

    public Date getTaskConfirmationTime() 
    {
        return taskConfirmationTime;
    }
    public void setExecutiveStaff(String executiveStaff) 
    {
        this.executiveStaff = executiveStaff;
    }

    public String getExecutiveStaff() 
    {
        return executiveStaff;
    }
    public void setTaskStatus(String taskStatus)
    {
        this.taskStatus = taskStatus;
    }

    public String getTaskStatus() 
    {
        return taskStatus;
    }
    public void setCompletionTime(Date completionTime)
    {
        this.completionTime = completionTime;
    }

    public Date getCompletionTime() 
    {
        return completionTime;
    }
    public void setDeliveryTime(Date deliveryTime) 
    {
        this.deliveryTime = deliveryTime;
    }

    public Date getDeliveryTime() 
    {
        return deliveryTime;
    }
    public void setMessageNumber(String messageNumber) 
    {
        this.messageNumber = messageNumber;
    }

    public String getMessageNumber() 
    {
        return messageNumber;
    }
    public void setPlanName(String planName) 
    {
        this.planName = planName;
    }

    public String getPlanName() 
    {
        return planName;
    }
    public void setSecurity(String security) 
    {
        this.security = security;
    }

    public String getSecurity() 
    {
        return security;
    }
    public void setMessageDate(Date messageDate) 
    {
        this.messageDate = messageDate;
    }

    public Date getMessageDate() 
    {
        return messageDate;
    }
    public void setFormalTask(String formalTask) 
    {
        this.formalTask = formalTask;
    }

    public String getFormalTask() 
    {
        return formalTask;
    }
    public void setProcurementDepartment(String procurementDepartment) 
    {
        this.procurementDepartment = procurementDepartment;
    }

    public String getProcurementDepartment() 
    {
        return procurementDepartment;
    }
    public void setProjectNo(String projectNo) 
    {
        this.projectNo = projectNo;
    }

    public String getProjectNo() 
    {
        return projectNo;
    }
    public void setPurchaseCategory(String purchaseCategory) 
    {
        this.purchaseCategory = purchaseCategory;
    }

    public String getPurchaseCategory() 
    {
        return purchaseCategory;
    }
    public void setProjectFunds(String projectFunds) 
    {
        this.projectFunds = projectFunds;
    }

    public String getProjectFunds() 
    {
        return projectFunds;
    }
    public void setManufacturer(String manufacturer)
    {
        this.manufacturer = manufacturer;
    }

    public String getManufacturer() 
    {
        return manufacturer;
    }
    public void setRemoteSupervision(String remoteSupervision) 
    {
        this.remoteSupervision = remoteSupervision;
    }

    public String getRemoteSupervision() 
    {
        return remoteSupervision;
    }
    public void setRepresentativeOfficeBelongs(String representativeOfficeBelongs) 
    {
        this.representativeOfficeBelongs = representativeOfficeBelongs;
    }

    public String getRepresentativeOfficeBelongs() 
    {
        return representativeOfficeBelongs;
    }
    public void setCompetentAuthorityAgency(String competentAuthorityAgency) 
    {
        this.competentAuthorityAgency = competentAuthorityAgency;
    }

    public String getCompetentAuthorityAgency() 
    {
        return competentAuthorityAgency;
    }
    public void setTimeRequirements(String timeRequirements) 
    {
        this.timeRequirements = timeRequirements;
    }

    public String getTimeRequirements() 
    {
        return timeRequirements;
    }
    public void setActualTotalAmount(String actualTotalAmount) 
    {
        this.actualTotalAmount = actualTotalAmount;
    }

    public String getActualTotalAmount() 
    {
        return actualTotalAmount;
    }
    public void setNote(String note) 
    {
        this.note = note;
    }

    public String getNote() 
    {
        return note;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setEquipmentContractor(String equipmentContractor) 
    {
        this.equipmentContractor = equipmentContractor;
    }

    public String getEquipmentContractor() 
    {
        return equipmentContractor;
    }
    public void setPaymentTime(String paymentTime)
    {
        this.paymentTime = paymentTime;
    }

    public String getPaymentTime() 
    {
        return paymentTime;
    }
    public void setContractAssociationStatus(String contractAssociationStatus) 
    {
        this.contractAssociationStatus = contractAssociationStatus;
    }

    public String getContractAssociationStatus() 
    {
        return contractAssociationStatus;
    }
    public void setScheduleTarget(String scheduleTarget) 
    {
        this.scheduleTarget = scheduleTarget;
    }

    public String getScheduleTarget() 
    {
        return scheduleTarget;
    }
    public void setContractorUnit(String contractorUnit) 
    {
        this.contractorUnit = contractorUnit;
    }

    public String getContractorUnit() 
    {
        return contractorUnit;
    }
    public void setSupportingEquipment(String supportingEquipment) 
    {
        this.supportingEquipment = supportingEquipment;
    }

    public String getSupportingEquipment() 
    {
        return supportingEquipment;
    }
    public void setMatchingContractNo(String matchingContractNo) 
    {
        this.matchingContractNo = matchingContractNo;
    }

    public String getMatchingContractNo() 
    {
        return matchingContractNo;
    }
    public void setGeneralRepresentativeOffice(String generalRepresentativeOffice) 
    {
        this.generalRepresentativeOffice = generalRepresentativeOffice;
    }

    public String getGeneralRepresentativeOffice() 
    {
        return generalRepresentativeOffice;
    }
    public void setGeneralContractorUnit(String generalContractorUnit) 
    {
        this.generalContractorUnit = generalContractorUnit;
    }

    public String getGeneralContractorUnit() 
    {
        return generalContractorUnit;
    }
    public void setNote1(String note1) 
    {
        this.note1 = note1;
    }

    public String getNote1() 
    {
        return note1;
    }
    public void setNote2(String note2) 
    {
        this.note2 = note2;
    }

    public String getNote2() 
    {
        return note2;
    }
    public void setNote3(String note3) 
    {
        this.note3 = note3;
    }

    public String getNote3() 
    {
        return note3;
    }
    public void setNote4(String note4) 
    {
        this.note4 = note4;
    }

    public String getNote4() 
    {
        return note4;
    }
    public void setNote5(String note5) 
    {
        this.note5 = note5;
    }

    public String getNote5() 
    {
        return note5;
    }
    public void setNote6(String note6) 
    {
        this.note6 = note6;
    }

    public String getNote6() 
    {
        return note6;
    }
    public void setNote7(String note7) 
    {
        this.note7 = note7;
    }

    public String getNote7() 
    {
        return note7;
    }
    public void setNote8(String note8) 
    {
        this.note8 = note8;
    }

    public String getNote8() 
    {
        return note8;
    }
    public void setNote9(String note9) 
    {
        this.note9 = note9;
    }

    public String getNote9() 
    {
        return note9;
    }
    public void setNote10(String note10) 
    {
        this.note10 = note10;
    }

    public String getNote10() 
    {
        return note10;
    }
    public SysDept getDept()
    {
        return dept;
    }
    public void setDept(SysDept dept)
    {
        this.dept = dept;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sequenceNumber", getSequenceNumber())
            .append("contractAssociationNo", getContractAssociationNo())
            .append("purchaseCard", getPurchaseCard())
            .append("projectName", getProjectName())
            .append("contractType", getContractType())
            .append("equipName", getEquipName())
            .append("equipVersion", getEquipVersion())
            .append("quantity", getQuantity())
            .append("technicalConditions", getTechnicalConditions())
            .append("contractNo", getContractNo())
            .append("contractDeclare", getContractDeclare())
            .append("representativeOffice", getRepresentativeOffice())
            .append("regulation", getRegulation())
            .append("projectType", getProjectType())
            .append("purchasingDepartment", getPurchasingDepartment())
            .append("managementAgency", getManagementAgency())
            .append("taskConfirmationTime", getTaskConfirmationTime())
            .append("executiveStaff", getExecutiveStaff())
            .append("taskStatus", getTaskStatus())
            .append("completionTime", getCompletionTime())
            .append("deliveryTime", getDeliveryTime())
            .append("messageNumber", getMessageNumber())
            .append("planName", getPlanName())
            .append("security", getSecurity())
            .append("messageDate", getMessageDate())
            .append("formalTask", getFormalTask())
            .append("procurementDepartment", getProcurementDepartment())
            .append("projectNo", getProjectNo())
            .append("purchaseCategory", getPurchaseCategory())
            .append("projectFunds", getProjectFunds())
            .append("manufacturer", getManufacturer())
            .append("remoteSupervision", getRemoteSupervision())
            .append("representativeOfficeBelongs", getRepresentativeOfficeBelongs())
            .append("competentAuthorityAgency", getCompetentAuthorityAgency())
            .append("timeRequirements", getTimeRequirements())
            .append("actualTotalAmount", getActualTotalAmount())
            .append("note", getNote())
            .append("userId", getUserId())
            .append("deptId", getDeptId())
            .append("equipmentContractor", getEquipmentContractor())
            .append("paymentTime", getPaymentTime())
            .append("contractAssociationStatus", getContractAssociationStatus())
            .append("scheduleTarget", getScheduleTarget())
            .append("contractorUnit", getContractorUnit())
            .append("supportingEquipment", getSupportingEquipment())
            .append("matchingContractNo", getMatchingContractNo())
            .append("generalRepresentativeOffice", getGeneralRepresentativeOffice())
            .append("generalContractorUnit", getGeneralContractorUnit())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("note1", getNote1())
            .append("note2", getNote2())
            .append("note3", getNote3())
            .append("note4", getNote4())
            .append("note5", getNote5())
            .append("note6", getNote6())
            .append("note7", getNote7())
            .append("note8", getNote8())
            .append("note9", getNote9())
            .append("note10", getNote10())
                .append("dept", getDept())
            .toString();
    }
}
